/*
 * Copyright 2010 Chad Retz
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not
 * use this file except in compliance with the License. You may obtain a copy of
 * the License at
 * 
 * http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
 * License for the specific language governing permissions and limitations under
 * the License.
 */
package org.jdocng.sample;

/**
 * Sample class javadoc
 *
 * @author Chad Retz
 */
public class FooClass implements FooInterface {
    
    /**
     * Sample class constant javadoc
     */
    public static final int CLASS_CONSTANT = 1 * Integer.MAX_VALUE;
    
    /**
     * Sample private field javadoc
     */
    @SuppressWarnings("unused")
    private int privateField;
    
    /**
     * Sample protected field javadoc
     */
    protected int protectedField;
    
    /**
     * Sample package private field javadoc
     */
    int packagePrivateField;
    
    /**
     * Sample public field javadoc
     */
    public int publicField;
    
    /**
     * Sample first sentence. Sample second sentence.
     * 
     * @param param Sample param javadoc
     * @return Sample return javadoc
     * @throws FooException Sample throws javadoc
     */
    public int standardMethod(int param) throws FooException {
        return 0;
    }
    
    /**
     * @param param
     * @return
     * @throws FooException
     */
    public int emptyPieces(int param) throws FooException {
        return 0;
    }
    
    /**
     * @param param Sample nonexistent param javadoc
     * @return Sample nonexistent return javadoc
     * @throws FooException Sample nonexistent javadoc
     */
    public void nonexistentPieces() {
    }
    
    /**
     * Sample private method javadoc
     */
    @SuppressWarnings("unused")
    private void privateMethod() {
    }
    
    /**
     * Sample protected method javadoc
     */
    protected void protectedMethod() {
    }
    
    /**
     * Sample package private method javadoc
     */
    void packagePrivateMethod() {
    }
    
    /**
     * Sample member class javadoc
     *
     * @author Chad Retz
     */
    public class FooMemberClass {
        
    }
    
    /**
     * Sample inner class javadoc
     *
     * @author Chad Retz
     */
    public static class FooInnerClass {
        
    }
}
